Skip to content

chore: tweak debug config for all profiles#6940

Merged
DaniPopes merged 1 commit intomasterfrom
dani/debuginfo
Jan 29, 2024
Merged

chore: tweak debug config for all profiles#6940
DaniPopes merged 1 commit intomasterfrom
dani/debuginfo

Conversation

@DaniPopes
Copy link
Member

  • debug = 1 for debug builds: this is a minor loss (about 10% or 4s, from ~40s to ~44s) in a clean dev build for much better backtraces (including normal errors with FOUNDRY_DEBUG=1).
  • debug = "line-tables-only" for optimized builds: negligible binary size increase (<100KB) for source locations in backtraces, see the profiles reference
Measurements dump

--- DEBUG = 0 ---
      Timing report saved to /home/doni/github/foundry-rs/foundry/target/cargo-timings/cargo-timing-20240129T180147Z.html
    Finished dev [unoptimized] target(s) in 39.50s
        Command being timed: "cargo b --bin forge -p forge --timings"
        User time (seconds): 452.77
        System time (seconds): 37.59
        Percent of CPU this job got: 1240%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:39.54
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 1372164
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 3123
        Minor (reclaiming a frame) page faults: 8253885
        Voluntary context switches: 73661
        Involuntary context switches: 98882
        Swaps: 0
        File system inputs: 5344
        File system outputs: 5771336
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0



--- DEBUG = 1 ---
      Timing report saved to /home/doni/github/foundry-rs/foundry/target/cargo-timings/cargo-timing-20240129T180316Z.html
    Finished dev [unoptimized + debuginfo] target(s) in 44.14s
        Command being timed: "cargo b --bin forge -p forge --timings"
        User time (seconds): 525.31
        System time (seconds): 40.35
        Percent of CPU this job got: 1279%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:44.19
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 1574724
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 2274
        Minor (reclaiming a frame) page faults: 9384116
        Voluntary context switches: 72666
        Involuntary context switches: 133939
        Swaps: 0
        File system inputs: 256
        File system outputs: 7795176
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

--- DEBUG = 2 ---
      Timing report saved to /home/doni/github/foundry-rs/foundry/target/cargo-timings/cargo-timing-20240129T180437Z.html
    Finished dev [unoptimized + debuginfo] target(s) in 50.45s
        Command being timed: "cargo b --bin forge -p forge --timings"
        User time (seconds): 636.03
        System time (seconds): 46.90
        Percent of CPU this job got: 1352%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:50.49
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 2170188
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 3284
        Minor (reclaiming a frame) page faults: 11830261
        Voluntary context switches: 72178
        Involuntary context switches: 148842
        Swaps: 0
        File system inputs: 1960
        File system outputs: 12122296
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

--- DEBUG = "line-tables-only" ---
      Timing report saved to /home/doni/github/foundry-rs/foundry/target/cargo-timings/cargo-timing-20240129T180605Z.html
    Finished dev [unoptimized + debuginfo] target(s) in 44.25s
        Command being timed: "cargo b --bin forge -p forge --timings"
        User time (seconds): 519.49
        System time (seconds): 39.51
        Percent of CPU this job got: 1261%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:44.29
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 1453480
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 4374
        Minor (reclaiming a frame) page faults: 9289883
        Voluntary context switches: 72269
        Involuntary context switches: 125890
        Swaps: 0
        File system inputs: 0
        File system outputs: 7012336
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

inherits = "dev"
opt-level = 1
strip = true
strip = "debuginfo"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missed in #6894

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet